<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // [[key,value],[key,value]]
        // 创建 map结构 

        var mymap = new Map([['a',100],[{name:'张三'},{name:'李四'}],['b',200],['c',300]]);
        console.log(mymap);


        // size 
        // console.log(mymap.size);  // 4  map中有几个元素 

        // set 方法  往map中添加元素 

        mymap.set('d',666);
        var num1 = [100]
        mymap.set(num1,[1000]);
        console.log(mymap);


        // get方法 获取  

        // console.log(mymap.get('a'));
        // console.log(mymap.get('b'));
        // console.log(mymap.get({name:'张三'}));

        // 键是基本数据类型  可以获取值
        // 键是复杂数据类型  获取不到 
        // 基本数据类型 原值永不变 
        // 复杂数据类型会变化  

        // has 方法  判断 元素是否在map数据结构中  结果是布尔类型 
        // console.log(mymap.has('a'));
        // console.log(mymap.has('b'));
        // console.log(mymap.has('c'));
        // console.log(mymap.has({name:'张三'}));
        // console.log(mymap.has([100]));
        // has查看的时候是复杂数据类型  结果一定是false 
        // 因为复杂数据类型会变化  结果不确定 就是false 
        // 基本数据类型如果存在  结果一定是true 


        // delete 方法 

        // mymap.delete({name:'张三'}); // 删除的 键是复杂数据类型 删除失败
        // mymap.delete('a') // 基本数据类型如果存在删除  

        // console.log(mymap);


        // mymap.clear(); // 清空 
        // console.log(mymap);


        // 遍历map 结构 

        mymap.forEach(function(value,key,origin){
            // console.log(value); //值
            // console.log(key); //键
            // console.log(origin); //



        });
    </script>
</body>
</html>